package top.infopub.mgr.fia.service;

import com.github.pagehelper.Page;
import top.infopub.generic.GenericService;
import top.infopub.mgr.common.vo.RspVo;
import top.infopub.mgr.fia.domain.BudgetSummaryDomain;
import top.infopub.mgr.fia.jsonvo.BudgetJsonVo;
import top.infopub.mgr.fia.vo.BudgetSummaryVo;
import top.infopub.model.fia.Budget;
import top.infopub.security.vo.AuthorizationVO;

public interface BudgetService extends GenericService<Budget, String> {
    /**
     * 根据条件查询分页记录
     * @param page
     * @param budgetSummaryVo
     * @return
     * @see
     */
    Page<BudgetSummaryDomain> selectPageByDomainWhere(Page<BudgetSummaryDomain> page,
                                                      BudgetSummaryVo budgetSummaryVo);

    /**
     * 根据id查询详情
     * @param id
     * @return
     */
    BudgetJsonVo queryDetailById(String id);

    /**
     * 根据项目编码查询详情
     * @param proCode
     * @return
     */
    BudgetJsonVo queryDetail(String proCode);

    /**
     * 编辑
     * @param budgetJson
     * @param submitType
     * @param vo
     * @return
     */
    RspVo edit(BudgetJsonVo budgetJson, Integer submitType, AuthorizationVO vo);
}